package com.example.rabc.monitor;

import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.List;

/**
 * 监控数据仓库接口
 */
@Repository
public interface MonitorDataRepository extends JpaRepository<MonitorData, Long> {
    /**
     * 根据事件类型和时间范围查询监控数据，按时间戳升序排序
     * @param eventType 事件类型
     * @param startTime 开始时间戳（包含）
     * @param endTime 结束时间戳（包含）
     * @return 符合条件的监控数据列表
     */
    List<MonitorData> findByEventTypeAndTimestampBetweenOrderByTimestampAsc(
            String eventType, Long startTime, Long endTime);

    /**
     * 根据事件类型查询最新的监控数据，按时间戳降序排序
     * @param eventType 事件类型
     * @param pageable 分页参数
     * @return 符合条件的最新监控数据列表
     */
    List<MonitorData> findByEventTypeOrderByTimestampDesc(String eventType, Pageable pageable);
}
